ADB Prober is a little program thrown together in a few hour's time that displays all devices connected to the ADB (Apple Desktop Bus) and tries to identify them. You have buttons to re-scan the bus and to re-set it (you need the latter if you love living on the edge and connect another device while the computer is on. You do risk your ADB chip each time but 'no pain - no game' they say.).
Due to popular demand, in versions 0.97 and above you also have the option of either continuously polling ('monitoring') or trigger-polling (waiting for signal) on a specific device. ADB Prober now lets you examine and analyse the data stream that comes from an ADB device. Ever wondered how to read the Thrustmaster WCS settings? Just hit Poll and watch register 3 closely...
Also, as of version 0.97, Prober supplies you with much deeper information whenever an unknown device is encountered.
If Prober is unable to identify a device it will either flag it as such (with a question mark '?' and additional register info) or it will try to guess what kind of device is connected. In the latter case, the program will append a question mark '?' to the description.
If ADB finds a device but doesn't believe what it sees, it will flag it as a 'Phantom Device'. Somehow the ADB sometimes lies into the face of the system (especially on Power Macs). I don't know why.
If ADB prober finds a device that provides an illegal original address (for example the newer versions of the Gravis GamePad does this), it flags the device with a bullet ('•') sign. This should be no cause for alarm to you.
Should you encounter any unknown or phantom devices or have the program flag a device with a question mark, please be sure to tell me about it.
I will then need the following details:
1. Name, Manufacturer and possibly version numbers of all devices connected
2. The output of ADB prober (a screenshot will do nicely, but you may
as well write a list)
Send me a letter to
cfranz@home.malg.imp.com
or (if you don't have Internet access) to:
C. Franz
Universitaetstrasse 93
CH-8006 ZUERICH
Switzerland
If you send in this information, I will be able to update the ADB Prober to
correctly recognize all devices. Of course, feel free to mail me just to tell me your view of the world in general and ADB Prober in particular.
What it does:
------------
There are two distinct applications for ADB Prober:
ADB Diagnostics and
Polling
ADB Diagnostics
---------------
This is the default ADB Prober operations mode. It cannot be switched off. When you launch ADB Prober, it will open a Window, scan the ADB and identify all devices it finds on the Bus. You may Re-Set and Re-Scvan the bus by pressing on the buttons provided for that reason.
Polling
------
As of version 0.97, ADB Prober sports a real-time probe into the ADD data stream. Polling means that Prober continuously reads ('polls') a certain device and displays the data it finds. Note that the Poll Info is *not* for the casual user. Although it won't fry you mouse or dislocate your joystick, it's primartily designed for techies that need to diagnosy what's happening with a device. Therefore I will not tell you what ADB Registers are. If you really need to know, read Inside Mac: Devices (or Inside Mac Vol. V) and scan the ToolBox Assistant.
Those who know what these registers are can press the Poll button. A new window opens that lets you select a single ADB Device Address to Poll. Note that you must select the CURRENT ADDRESS of the device (the column labelled 'CA' in the Diagnostics Window). Click either Poll or T-Poll for monitoring that device.
ADB Prober lets you select ANY device address to poll, even those that appear to be empty. This is intentional. If you need ADB Prober, you know why ;-)
Normal Polling repeatedly reads all registers from the device address you specified and displays them. It will continue until you press the mouse button (yes - I know that this is inconvenient if you want to diagnose exactly that. I'll come up with something better sometime... hopefully)
T-Polling waits until register 0 of the selected device transmits data (i.e. the length goes non-zero). Therefore, it will seemingly freeze the ADB bus until the device address you specified posts new data. After it receives this ADB Prober will also read the remaining three registers and display their contents (minus the length byte).
WARNING:
If you T-Poll a device that is not connected, you will not be able to exit the
T-Polling mode SHORT OF PRESSING RESET!!!! Be sure you know what you are
doing when using T-Polling!
Both polling modes are ended when you press the mouse button. The mouse click is passed to the Application. This is fully intentional (it wouldn't have been so difficult to call FlushEvents). That way you can position the mouse over the T-Poll button while you preset your device and click the mouse to end polling and immediately enter T-Polling.
What Devices ADB Prober knows:
-----------------------------
ADB Prober currently recognizes:
• Mouse
Apple Standard
Mouse Systems optical A^3 Mouse
Kensington Turbo Mouse
WACOM
MicroSpeed Mouse Deluxe Mac
• Trackpad (PB 540c)
• Trackball
emac Silhouette
Mouse Systems Trackball
PowerBook 180
PowerBook 140
PowerBook Duo
CoStar Stingray
Logitech Trackman
Kensington
CH Products Trackball Pro
• Keyboard
Extended II
Apple Keyboard II (various kinds and then some)
PowerBook 540 (various)
PowerBook 140
PowerBook 145
PowerBook Duo
Apple Adjustable (various)
Standard
Cutting Edge Extended
MicroSpeed
• Keypad (from Apple Adjustable Keyboard)
• Joysticks
Thrustmaster
Gravis MouseStick II
MacEnjoy v1.0
MacEnjoy v2.x
MacEnjoy Flight
CH Products Flight Stick
CH Products Jet Stick
• WACOM ArtPad Tablett
• Power Devices
PowerKey
PowerKey Pro
• Dongle
MicroGuard
MacHASP
Corean Lock
• Monitors
Apple AudioVision 14"
Apple 17"
• Calcomp DrawingSlate
• Light Source Colortron
What an ADB Device Producer should know
-------------------------------------
Up to version 0.97 ADB Prober identified a device merely by its type and original address. However, many early ADB device producers failed to provide it's own type and made it's devices identify itself as a mouse.
Therefore, there are many conflicting designations. For example, ADB Prober is unable to distinguish between a CoStar Stingray, Logitech Trackman or WACOM Mouse.
Since version 0.97 ADB Probers capabilities to deep-probe have been significantly enhanced. It is now able to distinguish between devices it formerly was unable to. For example, early versions of the MacEnjoy Joystick Adapter identified themselves as a Mouse. Now, ADB Prober can identify such a device.
If you produce a device that ADB Prober is not able to uniquely identify, please write me about it and tell me how your own software is able to recognize your device. I will make sure that a new version of ADB Prober correctly identifies your device.
What it thinks it knows but actually doesn't:
----------------------------------------
The following devices are not correctly recognized:
• SuperMac TrackBall (identifies as Keyboard Apple Standard)
• Some versions of Gravis GamePad (identifies as Keyboard Apple Standard)
• MicroQue QuePoint
• Keytronic Trackmate Mac
Also, ADB Prober may find more devices than that are actually connected to your system. ADB Prober tries to identify these 'Phantom Devices'. If this happens to you, please email me and tell me your setup and what Extensions you have running.
What it doesn't know:
-------------------
I'm looking for the device characteristics of the following devices:
• Trackballs
• Q-Stick
• UnMouse
• DataGlove (the ADB version)
• Any Graphic Tablet or Light Stick not listed
• Any other input device you may come across that's not listed under
recognized
What I would like to know
-----------------------
Run ADB Prober. If you encounter an ambiguous designation (for example 'Mouse/Trackball') I would like you to help me resolve it. If you feel up to it, supply me with some more detailed information. First, look at the 'CA' column of the device in question. Write it down. Now, press the 'Poll' button and click on the device number that corresponds to the 'CA' you have written down. Click Poll again. You will be rewarded with a window that dumps four resgisters as sequences of 'Hex Bytes'. Write these numbers down as well. Now, activate the device (e.g. move joystick's handle, draw a line with the pen on your tablet or bend a finger in your PowerGlove). Some numbers will change. Again, write down the new numbers along with what you did to activate the device.
Note that some devices (e.g. Mouse, Keyboard) have some constantly changing registers. If that happens, be sure to also write it down.
Finally, write down the model number and producer of your device. Send all this information to cfranz@home.malg.imp.com for me to process and incorporate it into the Program. Oh, and if the information warrants a new version of Prober, you will get the credits for it!
What you should know:
--------------------
If you run into any device ADB Prober is unable to correctly identify or flags with a question mark ('?'), please send me the results (along with a note listing all your connected devices).
If I receive enough information for additional devices, I may even touch up the interface and introduce a real event loop.
I hope you like the program. If you do, you may keep it. If you don't, you must erase it within two weeks from your harddisk ;-)
What AOL users should know
-------------------------
ADB Prober works only on Macs with ADB. This means that it does NOT work on the original Mac, the Lisa (Mac XL), the Mac 512 or the Mac Plus, even if so-called 'file-descriptors' from AOL-native archive moderators state differently.
What my lawyer knows:
---------------------
ADB Prober ('the program') is provided free of charge. I, Christian Franz, retain all rights to this program and it's documentation. You may not charge any amount of money for this program or it's distribution other than the usual downloading fee from BBS. You may not alter either program or its documentation and may not distribute modified versions of program or documentation. If you distribute the program, you must include this documentation.
Use the program at your own risk. I will not assume any liability for any damages received through the use of ADB Prober (or, for that matter, its documentation).
Zürich, May 1995
What I preferred not to have known:
"Sadder still to watch it die than never to have known it". How true.